package de.lessvoid.nifty.controls;



/**
 * The Menu interface is the Nifty control API view of a Menu control.
 * @author void
 * @param <T>
 */
public interface Menu<T> extends NiftyControl {

  /**
   * Add a menu item to this Menu.
   * @param menuText the text to display
   * @param item the item
   */
  void addMenuItem(String menuText, T item);

  /**
   * Add a menu item to this Menu.
   * @param menuText the text to display
   * @param menuIcon the icon (image) to display
   * @param item the item
   */
  void addMenuItem(String menuText, String menuIcon, T item);

  /**
   * Add a separator.
   */
  void addMenuItemSeparator();

}